package org.apogee.mil.shared;

import java.io.Serializable;

public class Constants implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 7764404157803742310L;

	public static class QuestionFields {
		
		public static final String ID = "id";
		public static final String QUESTION = "question";
		public static final String CHOICE_1 = "choice1";
		public static final String CHOICE_2 = "choice2";
		public static final String CHOICE_3 = "choice3";
		public static final String CHOICE_4 = "choice4";
		public static final String ANSWER = "answer";
		public static final String VOLUME = "volume";
		public static final String REVIEW_OR_TEST = "review_test";
		public static final String ENABLED = "enabled";
		public static final String DATE_ADDED = "date_added";
		public static final String DATE_MODIFIED = "date_modified";
		
		public static final String[] QUESTIONS_FIELDS = {ID, QUESTION, CHOICE_1, CHOICE_2, CHOICE_3, CHOICE_4, 
			ANSWER, VOLUME, REVIEW_OR_TEST, ENABLED, DATE_ADDED, DATE_MODIFIED};
		
		public static final String[] QUESTIONS_FIELDS_2 = {QUESTION, CHOICE_1, CHOICE_2, CHOICE_3, CHOICE_4, 
			ANSWER, VOLUME, REVIEW_OR_TEST, ENABLED, DATE_ADDED, DATE_MODIFIED};
		
	}
	 
	public static class AccessLevelFields {
		
		public static final String ID = "id";
		public static final String DESCRIPTION = "description";
	}
	
	public static class AllCdcFields {
		
		public static final String TEST_ID = "test_id";
		public static final String CDC = "cdc";
		public static final String MIN_SCORE= "min_score";
		public static final String DATE_ADDED = "date_added";
		
		public static final String[] ALL_CDCS_FIELDS = {TEST_ID, CDC, MIN_SCORE, DATE_ADDED};
		
	}
	
	public static class GroupFields {
		
		public static final String GROUP_ID = "group_id";
		public static final String GROUP_NAME = "group_name";
		
		public static final String[] GROUP_FIELDS = {GROUP_ID, GROUP_NAME};
	
	}
	
	public static class GroupTestLookupFields {
	
		public static final String ID = "id";
		public static final String GROUP_ID = "group_id";
		public static final String TEST_ID = "test_id";
		
		public static final String[] GROUP_TEST_FIELDS = {ID, GROUP_ID, TEST_ID};
	}
	
	public static class GroupUserLookupFields {
		
		public static final String ID = "id";
		public static final String USER_ID = "user_id";
		public static final String GROUP_ID = "group_id";
		
		public static final String[] GROUP_USER_FIELDS = {ID, USER_ID, GROUP_ID};
	}
	
	public static class MessagesField {
		
		public static final String ID = "id";
		public static final String TO_USER_ID = "to_user_id";
		public static final String FROM_USER_ID = "from_user_id";
		public static final String MESSAGE = "message";
		public static final String DATE = "date_added";
		
		public static final String[] MESSAGE_FIELDS = {ID, TO_USER_ID, FROM_USER_ID, MESSAGE, DATE};
	}
	
	public static class TestFields {
		
		public static final String ID = "id";
		public static final String USER_ID = "user_id";
		public static final String TEST_TAKEN = "test_taken";
		public static final String SCORE = "score";
		public static final String DATE_TAKEN = "date_taken";
		
		public static final String[] TESTS_FIELDS = {ID, USER_ID, TEST_TAKEN, SCORE, DATE_TAKEN};
		public static final String[] TESTS_FIELDS_2 = {USER_ID, TEST_TAKEN, SCORE, DATE_TAKEN};
	}
	
	public static class TrainerTraineeLookupFields {
		
		public static final String ID = "id";
		public static final String TRAINER_ID = "trainer_id";
		public static final String TRAINEE_ID = "trainee_id";
		
		public static final String[] TRAINER_TRAINEE_LOOKUP_FIELDS = {ID, TRAINER_ID, TRAINEE_ID};
	}
	
	public static class UsersFields {
		
		public static final String USER_ID = "user_id";
		public static final String USER_NAME = "user_name";
		public static final String PASSWORD = "password";
		public static final String ACCESS_LEVEL = "access_level";
		public static final String ENABLED = "enabled";
		public static final String DATE_CREATE = "date_created";
		public static final String LAST_LOGIN = "last_login";
		
		public static final String[] USERS_FIELDS = { USER_ID, USER_NAME, PASSWORD, 
			ACCESS_LEVEL, ENABLED, DATE_CREATE, LAST_LOGIN};

	}
	
	public static class UserLookupFields {
		
		public static final String USER_ID = "user_id";
		public static final String FIRST_NAME = "first_name";
		public static final String LAST_NAME = "last_name";
		
		public static final String[] USER_LOOKUP_FIELDS = {USER_ID, FIRST_NAME, LAST_NAME};
	}
	
	public static class DisplayFormat {
		
		public static final String TEST_FMT = "testFmt";
		public static final String ACCESS_FMT = "accessLevelFmt";
		public static final String USER_FMT = "userIdFmt";
		public static final String DESCRIPTION_FMT = "descriptionFmt";
		public static final String GROUP_NAME_FMT = "groupNameFmt";
		public static final String NAME_FMT = "nameFmt";
		public static final String VOLUME_FMT = "volumeFmt";
		public static final String NEW ="new";
		public static final String DELETE = "delete";
		public static final String TEST_CHANGES = "testChanges";
		public static final String USER_CHANGES = "userChanges";
		public static final String TRAINER_CHANGES = "trainerChanges";
		public static final String DEFAULT = "value";
	}
	
	public static class ServerConfigFields {
		public static final String ID = "id";
		public static final String PROPERTY = "property";
		public static final String VALUE = "value";
	}
}
